Hi,
the users can decide on their own wich group wants to be part of
You can create groups using the additional owners types add-on, however, we don’t have a feature allowing your users to list all groups and join them. This should be doable, but that simple but specific feature should be developed by yourself, or you should hire a developer to do that for you. We can of course guide you through the useful functions and methods to perform that.
Regards.