When should I use Union vs as const Union type: type valid = 1 | 2 | 3; as const const [1,2,3] as const;