все зависит от ситуации. Судя по вашему вопросу, вам нужен был не RBAC.
По хорошему, для разных ролей должны быть даже разные формы регистрации. Если вы даете пользователю определять свою группу каким-то выпадающим списком, значит, это не совсем группа, а скорее, метка пользователя.
Смысл ролей в ограничении прав и разделении доступов по своему для каждой группы.
Если пользователь может выбрать группу с наименьшими ограничениями - он всегда будет выбирать именно её, и нет смысла давать выбор. А если группы принципиально разные (например, фрилансер и работодатель), то и регистрацию лучше проводить на разных формах, с разными текстами сопроводительными и т.д.