Re: Groups vs Roles vs Custom Profile Fields
I know this is a little back from the dead, but I would go about this in a totally different way myself.
I would use good old WordPress usermeta, and have three different registration screens. Giving users the ability to choose something will more often than not confuse them. If you give them a dedicated registration with only the options they need, that will yield better results.
I have a post around here somewhere on how to assign usermeta values directly from registration. Then rather than trying to group users together, rather than wasting a profile field that you eventually have to hide or prevent users from changing, and rather than creating custom user role types, you can just check the meta and go. And if they upgrade their account, you just update the usermeta value.
Custom user roles is a good idea too, but it comes with a little more work to make things cooperate the way you want to use them.