Cita: ?Estará el problema en el enum de mysql?
Yo creo que sí, porque un 'true' es literalmente un valor textual un no un booleano real.
Así que tienes dos opciones, haces type-casting desde PHP para transformar dicho texto en un booleano real o bien, cambias el ENUM() para que use booleanos reales y no texto.
Cita: Los que en Json son false directamente no escribe nada en mysql, los deja vacios...
Pues ahí habrá que ver exactamente cómo haces las cosas, si de verdad obtienes un booleano real y cómo lo estás tratando a la hora de construir la consulta, etc.