Первое. Обеспечение целостности данных в микросервисной архитектуре по большей части переходит в слой приложения. И это одна из самых сложных задач во всем микросервисном подходе. Так или иначе приходится реализовывать какой-то механизм, обычно приходят к подходу eventual consistency, когда в каждый момент времени какая-то часть данных может быть не согласована, но в итоге все данные будут приведены к согласованному виду.
Второе, где проводить границу между сервисами.
В данном конкретном случае, таблица категорий продуктов может быть как частью сервиса продуктов, так и внешней сущностью по отношению к нем. Если таблица категорий является внешней сущностью, то самому сервису продуктов должно быть абсолютно без разницы что содержится в этом поле, он внутри себя сохраняет функциональность и целостность своих данных даже если записать в это поле произвольный набор.
Обеспечение не противоречивости данных в этом случае может быть реализовано множеством способов. Как один из самых простых, падение и мониторинг в том месте где эти данные будут агрегироваться.