refactor product category and region entity according adv specification, also improve api interface