In your ACP, go to your Usergroup Manager. Then, under Registered Users, click on Edit Promotions. Then press the Add Promotion button. From here, you can specify a Promotion... so when you reach a certain requirement (for example, 10 posts and been at the site for a week), it will move you to a different usergroup. Does this work for what you want?
The only way to do it is to use promotions, then when you get to a certain usergroup then you add the 'can join usergroup' permission and this will then allow them to opt into other groups. Make sure that the first group (ie usergroupid =2) has can join usergroup set to NO