Variants are no longer just a bit mask, but rather a combination of some bits, depending on the variant. Because of that the variant filer must be updated. Basically we now make a distinction between the "variants" as a public material API and the actual `Variant` data type. This change does the impedance match between the two.