Say we have a binary classification problem that we want to solve with Naive Bayes. All features are categorical variables. 

Say we focus on a single feature that takes one of $N$ possible values. If $N$ is high, and we use a discrete distribution to encode it, the model complexity can rapidly increase (one $\theta$ per value and feature).

One way of reducing model complexity (and potentially improve generalization performance if $N$ is relatively high) would be to cluster values of each variable and effectively use a smaller dictionary, reducing the number of $\theta$'s estimated. Is this reasoning correct? 

If so, aside from cross-validation, what would be a principled way, or most importantly a **good proxy** for identifying what values to group for a given variable/feature?