Mientras la tabla esté vacía, no hay problema. Siempre y cuando se agreguen nuevos valores para ENUM y no se renombre dado una tabla poblada, nuevamente no hay problema.
El ENUM que redefinió en su pregunta en realidad mantuvo los valores internos originales para sí y no como lo recordó la tabla de prueba por última vez.
Lo siguiente se aplica a las tablas pobladas:
¿Qué hay de esto?
ALTER TABLE `test`
CHANGE `bool` `bool` ENUM( 'no', 'yes', 'maybe' )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
Ahora tienes un problema. Los valores ENUM en una tabla completamente poblada tendrían sus valores internos invertidos de modo que sí es ahora no y no es ahora sí.
¿Qué hay de esto?
ALTER TABLE `test`
CHANGE `bool` `bool` ENUM( 'maybe', 'no', 'yes' )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
Gran problema. En una tabla poblada, sí es ahora tal vez. Las nuevas filas insertadas con sí se desconectan de las filas anteriores de sí porque ahora significan tal vez.
RESUMEN
Existen técnicas de cambio y cebo de muy alto riesgo para hacer esto muy rápidamente en MyISAM . Recomiendo encarecidamente que no haga esto en InnoDB debido a su interacción de id de tablespace con ibdata1.