You could use custom fields (as you mentioned), categories, statuses etc. all as ways to categorize and filter your entries. If I’m reading your intentions right, then maybe using categories would be the best fit/easiest. This should provide the functionality you need in that you can have the user pick “red” and all entries with the category “red” attached are now displayed.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.