So you will have 2 different products:
Simple Registration - 3 Categories.
Advanced registration - 6 Categories.
These should be set up on 2 separate product details pages. each page will have a unique add to cart button.
to set up the 100 categories, you will probably want to use a categories table:
categoryID - Primary Key
create a record for each category.
To set up the cart, you will need to add 6 new columns to the eCart object, cat1, cat2, cat3 etc.
on the basic product page, add the add to cart button, set the first three category columns to be updatable from a select list. On the advanced product page, set all 6 category columns to be updatable from a select list,
You will need to create a record set to return all of the categories, for each select list the add to cart button creates, set them to be dynamic and use the category record set to populate the label and value with the category name.