Ok I assume it is important that for each enum value you have no more than 1 object of sub category? What you can do is that every time you create an object with a certain category you have to use a FindOrCreate pattern.
In this pattern you will check if a subcategory is already linked to the category with of a retrieve and a decision. If this is the case then you do not need to create a subcategory. If this is not the case then you can immediately create a subcategory object for this category, it is important that you set the association between the category and the subcategory - you can do this directly in the Create action.
This way you always have a subcategory for a category.
However, you can also do it manually. This means that you simply display the category on your screen and then you should be able to add subcategories to it.
You do this by first placing a data view in your screen with the category as context object.
In the dataview you place a listview with the context subcategory. Above the list view you place a create button and in the create button you create a subcategory object, it is important that during the creation you make the association between category and subcategory.
Making associations in this way is covered in the Rapid Developer Course that you can follow for free online: https://academy.mendix.com/link/paths/31/Become-a-Rapid-Developer