Kindly refer to the Sling documentation for Sling Models[1].
Notice, section that describes how to create custom annotation on the same page[2]
What it describes, is that you could create a custom annotation for your multi-field list type. Which would parse the data from JCR to your Data model in your preferred way with your own custom logic.