Tienes tres opciones;
1) Por integridad referencial, con lo cual agregas una nueva tabla donde se almacenen los campos permitidos y lo referencias con una foreign key desde tu tabla. De este modo solo podra ingresar valores que se encuentren en la otra tabla.
2) Agregando un CHECK a la columna, de modo de crear una restricción en los valores que se pueden ingresar
CREATE TABLE Colores(
id INT IDENTITY(1,1) NOT NULL,
Color VARCHAR(50) CHECK (Color IN ('rojo','azul','verde')) NOT NULL
)
GO
3) Crear un nuevo tipo de datos utilizando CLR
Creo que lo más aproximado a lo que buscas es la opción 2

Saludos
[Edito]: se me ocurrió otra 