Hello,
We aren't sure to understand what you means by "choose their registration type when they sign up?", and so can you details this idea.
If you want to assign automatically new user to group or another, we think that the most simple is to do like this :
1. Create an Address custom field to allow new user to define them self
2. And create a Mass Actions that will add to new user a group or another from his answer to previous Address custom field.
Awaiting your returns to elaborate more.
Regards