products table would have a productID autonumber and no reference to options as well as whatever other fields you want to track on a product by product basis.
optionsgroup table would have the option groupID autonumber and a groupName field, and that is it.
productoptions table would have the productOptionID autonumber, a productOptionGroupID (join to groupID) and optionProductID (join to products) and that is it.
options table would have an optionID autonumber and a optionGroupID (join to groupID) as well as any other information specific to this option.
This would give you complete flexability with regards to the database (and a relative nightmare when it comes to writing queries and a back end if you aren't experienced)