design patterns – How do refactor a code which picks service based on null checks on field?

I have a bean that has around 10+ fields and it may grow till 30 odd fields. The bean is a contract between applications to share data over an HTTP call. Basically, a downstream application will set exactly one field and will make a rest call.

class Person {
    private PersonalInfo personalInfo;
    private EducationDetails educationDetails;
    private WorkAddressDetails workAddressDetails;    
     ...
    // getters and setters
}

Now in my application, I am finding a null field and calling the respective service to process the data.

if(personalInfo != null) {
    personalInfoHandler.process(personalInfo);
} else if(educationDetails != null) {
    educationDetailsHandler.process(educationDetails)
} else if(workAddressDetails != null) {
    workAddressDetailsHandler.process(workAddressDetails)
}
...

This solution was working fairly well when there were a handful of fields in the bean, now as the bean is growing this solution isn’t scaling well. is there a better way to re-design this solution? Initially, I thought about creating a factory of handlers but retrieving the exact type of handler from the factory would be tricky too.