Building a custom attribute that has a "parent"?

Permalink
So, I am looking at moving an older site we did on our old CMS over to concrete5, using the e-commerce plugin (working with 5.6 generation here).

Here's the issue:
Let's say we have two different types of attributes. One defines an industry the product is a part of, and then there is also a category this product can be a part of.

Now, the industry has numerous categories within it, which will be shown in a list. In our old site, this is selected on the category page when creating the category (which industry it appears in). Then on the product page, you can add the industry and the category, and then the front end code filters the industry to only have categories that are supposed to be shown, and then the products are grandchildren in the categories.

The issue is this: If I have two separate attributes, then the categories don't filter right. If I make one attribute with two values ($industry->category), then I can't easily build the industry landing page since it's a merged item.

I am used to using single pages for things, using jordan's CRUD, and I could go that direction, but I wanted to start trying to do things the proper C5 way with attributes. If I could make a page that would allow me to set the category for industry filters, I could do that, but that isn't baked in anywhere, and I'm not sure that can even really be done with a custom attribute.

I know this may sound convoluted, (and it is), but that is kind of the issue I'm dealing with.

So->Industry -> HAS -> selected Categories -> if a product is selected to be in that industry and that category (separate attributes, since categories "merge"), and that category is selected for that industry, that product will be in the list.

Any help would be much appreciated.