Crear opciones de lista desplegable de enumeración en un DataGridView

Actualmente tengo una clase y estoy tratando de crear una GUI fácil para crear una colección de esta clase. La mayoría de los atributos de esta clase son cadenas. Sin embargo, uno de los atributos que quiero que el usuario pueda establecer es una enumeración. Por lo tanto, me gustaría que la interfaz de usuario, para tener una lista desplegable para esta enumeración, restrinja al usuario la entrada de un valor que no es válido. Actualmente, estoy tomando la lista inicial de objetos, agregándolos a un DataTable y configurando el DataSource de mi DataGridView en la tabla. Funciona bien, incluso crea una columna de casilla de verificación para la propiedad booleana. Pero no sé cómo hacer que la columna para la enumeración se convierta en una lista desplegable. Estoy usando C # y .NET 2.0.

Además, he intentado asignar el DataSource del DataGridView a la lista de mis objetos, pero cuando hago esto, no ayuda con la enumeración y no puedo crear nuevas filas en el DataGridView, pero definitivamente estoy no obligado a usar una DataTable como mi DataSource, simplemente era la opción que tengo semi-trabajando.

Respuestas a la pregunta(2)

Su respuesta a la pregunta