Disable membership request of a group (Group B), if the user already belongs to another (Group A)

What you’re suggesting is that everyone can see all of the groups but when they join one they can no longer see any groups? I can’t quite imagine how that could work.

If you don’t want users to know about the other groups then you’ll can just make the groups not visible to anyone and manually add them.