SELECT VAL, COUNT(*)
FROM (
SELECT
COLOR AS COLOR_VAL,
COLOR & 1 AS [1],
COLOR & 2 AS [2],
COLOR & 4 AS [4],
COLOR & 8 AS [8],
COLOR & 16 AS [16],
COLOR & 32 AS [32],
COLOR & 64 AS [64],
COLOR & 128 AS [128]
FROM (SELECT 73 AS COLOR UNION SELECT 53 UNION SELECT 91) AS COLORS) AS SUMMARY
UNPIVOT
(VAL FOR COLOR IN
([1], [2], [4], [8], [16], [32], [64], [128])
) AS UP
WHERE VAL > 0
GROUP BY VAL
The bold part is where you actual select for your color values comes in...