I can tell you some things I've found helpful, but I think sytse (https://news.ycombinator.com/user?id=sytse) or antirez (https://news.ycombinator.com/user?id=antirez) could give better advice than I ever could.
Off the cuff, for me it always comes back to having a good filter -- which can take time to develop, and can depend heavily on what your goals are with the open core part of this, along with what the goals are of the company.
For example, if 10000 users want support for feature X, but 10 users are willing to pay/upgrade to support feature Y, and these features don't overlap (or are mutually exclusive), you many need to make a choice as to which way your goals will point you.
Luckily, there will be also a ton of features/improvements that will neatly overlap with everyone, and so you can make everyone happy as well. For prioritization of those, there's a lot of things you can do, but I always like this article's approach: https://www.defmacro.org/2013/09/26/products.html.
Another useful tool could be analytics -- the people that use your product the most are usually the people that become your biggest supporters, best suggesters, and paid clients. This might be a bit tough since if you add in an analytics tool to the codebase anyone could rip it out when they have access to the code, but you could do things like watch who is constantly submitting tickets / issues, reaching out via email, mentioning on social media, etc.
Just some quick thoughts, but by no means am I an expert here.