Fitting multiple cones to 2D data, how to impose ordering constraint on parameters

unfortunately cumsum would not work since I am using the discrete variable as indices, it is something of the form

apex_indices = pm.Categorical("apex_indices", p=np.ones((npoints,))/npoints,
                                  size=(ncones))

a generalization of the model above to cases when there are not so many measurement points and I have a pretty good guess that the apex is one of them