Hi,
I believe it could be done by
1. Setting up a custom profile property with a dropdown to be shown on the registration page
2. Implement a user registered handler that checks the custom profile property and adds the user to the additional role based on the profile property.
All users should be in the "Authenticated Users" role, that role is used to make it possible to show or hide content based on whether the user is authenticated ie signed in to the site. So this role is not for a choice by the user.
Hope that helps,
Joe