I think that there may be a way to do that with custom wizard, but I don’t understand why it’s imperative that once they make a selection they will need to create a new account to change it. What if they make a mistake or fail to join one at all? What if someone is a plumber and an electrician?
So if they get it wrong, they are just out of luck?
I think I’d make the groups be “Allow users to send membership requests to group owners (Requires publicly visible group)”.