I did write a mod for users in 6.x to add themselves to groups.

I don't think I still have the code - but it worked fine allowing members to pick their team, and then they would be assigned groups based on that team.