This is fine.  It would be more normal C++ convention to combine the cases:

    case no_typedef:
    case no_enum:
        op = no_none;

since both cases are doing the same thing - stopping the entry from being generated.