I'm finding the abstract labels in your post extremely difficult to track.
I think you have two tables, Creditors and ProductGroups
If you have the relationship
Creditors::Name = ProductGroups::CreditorName
Then you can set up a value list that lists ProductGroups::GroupNames with the show only related values, starting from Creditors. Now a field placed on the Creditors layout formatted with this value list should only list the GroupNames from ProductGroups that have a value in CreditorName that matches the name in Creditors::Name for the current record.
Compare that to what you have set up and see what's different.
The 2 tables are (1) PGC (Product_Group_per_Creditor) and (2) Products.
Both Tables contain the fields A1=1 ; Creditor_Name ; Product_Group
Based upon relation A1=A1, I created a relation finding ALL records in the PGC Table
relation Creditor_Name = Creditor_Name, should only show the related records product_group from selected Creditor_Name
I just "solved" it, before diner...
In the relation
Using values from 1e field = Product_Group, Then DESELECT "all values",
leaving "Only use values from <Unknown> .... Works,
It is unlogic, but it works..