Hello Pavel,
I’d really like to help you with this project, but building a custom field type is not a quick thing, and my available time is very limited at this moment. Sorry!
Anyway I can suggest you try this plugin:
https://buddydev.com/plugins/conditional-profile-fields-for-buddypress/
You can set it up so that, when any specific check box is selected, another field appears. These new fields, one for each check box value, should contain the sub-types for that check box value. What do you think?