What you are describing is essentially product attributes underneath a single level product hierarchy (Category). Category could either be it's own customfield, or you use the native class field to break out category.
From there, I would simply add custom fields to the item record for each attribute with each referencing a list. These list records would be unique to each field with all the possible values. In your case, 4 fields - Product Category (if not using class), Drive Size, Type, Measurement Units.
The website design should easily be able to stack them in a hierarchy like a pivot table would.