Recommended way to organize product types and fields in Craft Commerce I am setting up a Craft CMS site with Craft Commerce for a B2B-customer. 

Here is a little excerpt of their product type hierarchy: 


Textile


Sewing machines
Heavy Duty Machines
Furniture machines
Knitting machines
Scissors
Thread

Ergonomics


Chairs



Each product type have their own set of taxonomies that describe the product. For Sewing Machines, it could be: 


Area of usage
Sewing machine type 
Number of needles


For scissors it could be: 


Scissor type
Left or right hand?


An example

Take the following screenshot from Gearbest.com:



I've outlined the taxonomies. 

Questions


How should I organize the product hierarchy? (Using Categories?)
Considering that the taxonomies differ between product types, how should I assign the different taxonomies to products (System Support, Features, Application, Brand from screenshot)
Should each of the types I've described here become individual Product Types in Craft Commerce? (Heavy Duty Machines, Furniture machines, Chairs, Thread etc)
I read and reread #15930 and it suggested that I should create one Product Type for each unique kind of product -- which would be something like: 

Product Types


Sewing machine
Chair
Scissor


Each of these product types would then have their own set of fields - some being reused accross all or multiple product types, while some being specific for one product type:

Field Groups


General


Name
Image
Manufacturer
Product Family &lt;-- category
etc.

Sewing machine


Usage area
Machine type
etc.

Thread


Thickness
Material
etc.



Product Family (from General) would be a Category-field that lets me select one or multiple categories that the product would belong to. Product Family would look something like this: 

Product Family


Textile


Sewing Machines
Steam pressers


Cabinets
Tables
Dollies
Accessories

etc.

Profiling


Embroidery 
T-shirt printers
Laser engraving machines
etc.



I've verified this with Nathaniel Hammon from Pixel &amp; Tonic. He adds that "An added benifit of using categories", what I call Product Family, "is that you are able to use them in conjunction with the promotions (sales &amp; discounts) functionality that is built into Commerce"

Field layout

I went ahead and created the following categories: 

General: Product Family
General: Supplier (manufacturer)
General: Intended audience
Sewing Machine: Application
Sewing Machine: Stitch type
Sewing Machine: Type
...


I then created the following field groups: 

Product
Sewing Machines
...


Then I created the folloing Product Types (in Commerce):

Other products
Sewing Machines
...


Then I split the field layout for Sewing Machines into two tabs: One for general data, not specifically associated with sewing machines and one for sewing machines specifically:



The general fields come from the general field group and the details-fields come from the Sewing Machine field group.

Final thoughts

I have not yet implemented a filter, like the one in the question. I'll revisit this post and update you when I've progressed.