Partial pooled model with complex categories

cat_1 should be relatively straight forward, as you can have a categorical predictor of 0 and 1. For cat_2 you do it similarly, but code each category as a feature and have a similar 0 and 1 predictor. Something like:

cat1 = [0, 1, 1, 0, ...]
cat2_1 =  [0, 0, 1, 0, 1, 0, ...]
cat2_2 =  [1, 0, 1, 1, 0, 0, ...]
...

with the linear prediction:

cat1beta = Normal(..., shape=2)
cat2_1beta = Normal(...)
cat2_2beta = Normal(...)
cat2_3beta = Normal(...)
y = A*(1+B*t)**B + cat1beta[cat1] + cat2_1beta*cat2_1 + ...