Вроде, норм задание. Формируешь селекты. На жс отлавливаешь on change, шлёшь аякс на сервер, на сервере обрабатываешь, отдаешь новый список значений на фронт и Формируешь новый селект
я так с сделал, но сделал жёсткий каркас, т.е. заранее зная, что от чего зависит. А по условию, зависимость надо писать в св-ве, т.е. зависимость должна быть гибкой, в любой момент меняться, добавляться