Hi,
Since you are using multiple table, have you considered using relationships to filter your value list.
If you setup a Category field in your ValuesTable. You can create a field in the same table where the current field that is attached to the value list exists or if you use a resource table you can place it there(either way lets call this TableInUse). You can make it a global or local field depending on your preference. This new field will be to hold the Category, the value list for this can be based off the Category field in your values table. In your relationship graph you can add a relationship from TableInUse to your ValuesTable and it will simple be an TableInUse::Category = ValuesTable::Category.
Now all that is left is to go to your original value list in question, and check "Include only related values starting from" and set it to TableInUse. Now when a user selects the Category, the will see only the corresponding values.
Hope this helps!