I have some products in my shop that should be linked together in subgroups: "required", "conflicting", "recommended", "spareparts". For example:
- product A requires "mounting kit (product B)"
- product C can't be mounted with product D
- when buying product E you should consider buying product F
- product G has following spare parts products: H, I, J
I'd like to show this information on product page, something like:

I saw that M2 has built-in function for related, upsell and cross sell products, but this is not exactly what I'm looking for. Do you have any suggestions?