Multiple groups part of one main group

with out structure as follows and the requirement listed is it possible to do in gitlab?

main group called source with repo called source – git url – git@gitlab:source/source.git
currently all of engineering team members are part of group “source” with “developer” permissions to get access to the repo.

groups to be called, qa/perf/system/core/kernel
move team members to their respective groups in gitlab groups
add all these groups to “source” group with developer permissions
now grant either the group or individual members “master” permissions to allow checkins

End result:
when we lock the branch we can change the group “qa” to master so they can continue pushing the code in their test plans while developers can’t unless they have explicit “master” permisisons