One way to deal with it is to have percent include [optional] properties for both, then you can use typeinsreport to distinguish between the two when mapping to your business objects. This is the simplest, and cleanest, in my opinion.
You can try a RuntimeTypeAdapterFactory, you likely need to make the carrying class polymorphic, and not percent. You will end up with at least 5 classes, and will need to work around the type identification system.
Otherwise you will likely need to implement a custom deserializer.
I would highly recommend trying option number one first.