The main problem with this approach that I can see is that it doesn't handle multiple flags very nicely in JSON.
For example, if the value of MyType was (A | C) the JSON output is MyType : 5 which is not very human readable.
If Flatbuffers handled the ORs and enum was allowed to be specified as flags, then this might be a workable system, although I feel it might get messy.
For example, when ideal JSON might look like:
{
Property1: true,
...
}
What we'd have to use would be:
{
Flags : Property1 | Property32
}
When the number of properties is large, this would become messy. Plus flags cannot be set to off - instead they have to be removed completely.