As the comments indicate, you can use Word8, which has the desired range.
import Data.Word(Word8)
data Color = Color Word8 Word8 Word8
Word8 implements Num so you can use regular integer constants with it.
The more general solution to the problem "I have a constraint that can't be expressed with types" is to hide your constructor and make a checked interface. In your case, that would manifest as
data Color = Color Int Int Int -- Don't export the constructor
color :: Int -> Int -> Int -> Maybe Color
color r g b
| r < 256 && g < 256 && b < 256 = Just (Color r g b)
| otherwise = Nothing
Word8instead ofInt.