Потому что категории возможно будут менять стейт
Они будут его менять уже по другому запросу. Получаем сложный список категорий через простую абстракцию над бд. Затем выводим пользователю, ему надо что-то изменить - он кликает, например, изменить название, и тебе уже летит запрос с конкретным ID, тут уже тащим из репозитория.
Такой вот вариант :)