Best approach for size ranges as variant listings (sock sizes)

I have a conundrum, socks. How to properly do their variant listing and maintain a user friendly filter.
The various vendors of socks have different sizes ranges, 36-40, 38-39, 37-42 etc. I currently have 117 different combinations. The size ranges are horrible as a product filter, you just want your size e.g. 37 to display all the different ranges where 37 falls within.
You also want to display the variant with their respective range, the sock size everyone is familiar with.

Do I add the respective sizes (e.g. 36, 37, 38, 39, 40) that fall within their range (36 - 40) as properties per variant and break inheritance? Just for a usable filter.

Do I add the respective sizes as variant options, maintain inheritance but only add the size-range to the product-configurator-settings? So the variant would have (36 - 40, 36, 37, 38, 39, 40) as options. Where only „36 - 40“ is added to the product-configurator-settings?

Any other proper way of meeting all the stated requirements?