If you want them to be able to choose the type
You’ll need to write your own registration logic
After that check via get_user_meta() to see if they have a certain permission
if they can do xyz and allow accordingly. I’ve done custom user types before for a plugin i wrote.
There’s no build in roles in BP AFAIK but a lot can be done via actions and filters, does require some coding skills though.
Let me know if you need more help