Hay varios truquillos para hacer lo que quieres. Pero dado que creo que estado es un campo de tipo int y no puede introducirse decimal, lo que nos permitiría usar un replace en el order by para finiquitar todo, te propongo el uso de case when... then en el order by
Código sql:
Ver originalSELECT nombre, estado FROM `tabla` ORDER BY (CASE WHEN estado = 1 THEN 1 WHEN estado = 0 THEN 2 WHEN estado = 2 THEN 3 WHEN estado = 3 THEN 4 WHEN estado = 4 THEN 5 WHEN estado = 5 THEN 6 END)