4
In Xoops, 'groups' are used more for access control than separation of interests, so I'm not sure if they will meet your requirements.
The 'Anonymous' group covers all anonymous site visitors. When someone registers, they are automatically added to the 'Registered Users' group. The site administrator can also create a custom group, e.g. 'Publishers' and can then copy registered members into that group. (the user can safely remain in the registered members group too).
Many modules allow you to specify which groups are able to use particular features. For example, you could hide the 'News' module from the anonymous group, show news to the 'Registered Users' group and allow members of the 'Publishers' group to post news articles.
Normally, only the webmaster has access to the 'groups' admin controls and you wouldn't want to give full control of it to anyone else. However, Kaotiks excellent 'Groups' module allows you to give control of group membership to members of a specified group.
For example, you could create a group called 'Executives' and add your business associates to it. In Kaotiks module, you could then give the Executives group permission to move registered users in and out of other groups.
I wrote some info on how to do this
in this post.This 'second-tier' of user control is great if you build Xoops sites for clients, because you can give your clients user controls without giving them webmaster level access.
There may be a module somewhere that does it, but the ability for users to register themselves into a specific group when they join as you suggest is not currently possible AFAIK.
A thread is for life. Not just for Christmas.