I want to be able to create a conditional value list to be used in another table based on Catagory
That doesn't read to me like a description of a self join. It sounds like two tables linked in a relationship that is not a self join.
In any case the rules for setting up a conditional value list based on a self join relationship are identical to how you would set it up on a relationship between two different data source tables.
You would seem to have these three tables in these relationships:
Employees----<TrainingSchedule>-----Master TrainingList (---< means one to many)
If so, you need a new occurrence of Master TrainingList to link to TrainingSchedule like this:
TrainingSchedule::Category = MasterTrainingListByCategory::Category
Then you specify values from the MasterTrainingListByCategory table occurrence in the value list setup and specify either Employees or TrainingSchedule as the "starting from" table occurrence.