Hi,
It is recommended to create a custom field in Contact entity to record the opted subscriptions.
Then create several dynamic marketing list to filter out the contacts based on the field.

Dynamic marketing lists can be copied to static ones.

As we know, subscription list is a kind of static marketing list.
After the copy, the "Locked" field will be set as Yes and the "Subscription" field is shown as locked.
So change the field "Locked" to No.

Change the field "Subscription" to True.

At last, save the list. It will turn into a subscription list.
