How can I find distinct arrays with distinct()?

Quick Version of the Question
Consider the following where ‘a’ and ‘b’ are the values for a field called ‘c’ in a dataset. How can I get the targetOutput?

a = [1, 2, 3]
b = [1, 2]

distinct('c')
// targetOutput = [1, 2, 3], [1, 2]
// actualOutput = [1, 2, 3]

More details:
I have a field of product colors. Some are just one solid color, some are a combination of colors. The current way distinct() seem to work is that it treats each index of an array as it’s own value which is actually good for a page with all the products and to filter products that have a certain color, but for product page where you want to separate variants by the color combinations, you just get [red, blue] instead of something like [red, blue, [red, blue]].
Is the only way to have something like primary color and secondary color fields?