I think I have figured out how to do what I want, but if this looks wrong then please someone let me know I've misunderstood!
I read on another post that you can create categories but leave them unpublished (I would never have thought of that) so I have created unpublished categories for my different custom field option types. Then I've created a custom field of type Item for each different option I want customers to choose from (mostly dropdown lists) and limited those fields to the corresponding category. I've then added the relevant categories to each product.
This means that my products may have lots of different categories, depending on which customs fields apply, but I am assuming that is OK?