CFD-137 : Refactor restricted group type

Refactor the restricted group functionality so we can easily migrate the C4D group access levels.