So let me just first start by saying this is a really tough spot, but I do think you made mistakes here. Do I think you played bad, no, but with that said we can still be critical of the play here and learn from it. Let me just start this with some questions for you, what do you beat that calls you here? To continue from this, are those hands that beat you and that you beat likely in your opponents range?
I think by answering the above two questions you can learn a lot about was this a good play or not? So you even said it yourself;
If Hero shoves, it feels like KJ is the only worse hand that would call.
You literally hit the nail on the head with this hand. I know it's a super tough spot, it is really damn hard to fold a set in any situation but I think this situation is one of those. However with that said I think, from my point of view, your mistakes are your bet sizing and when you should have bet.
Again as you said above the only thing calling you that you beat is KJ. So with that you've clearly put your opponents on a range, and then you've gone against your thinking.
So let's break down the hand, we know 2 players are solid regs, and the other is a short stack recreational, we also know all players are early position. We know it's an early position raise from a solid reg, and importantly a flat from another solid reg in early position. Given this information we can definitely narrow their range to some premium holdings, the odd bluff in here but a pretty solid range. I think your call with 99s in the SB is fine.
So you see a flop, not an amazing flop for our hand given the information that our opponents should have pretty narrow ranges, and this type of board is all over these ranges. Your check here is ok, but I'd prefer a lead to see where you are.
BB opens into 2 players, one of whom opened from early, whom are both good players too, we'll assume the BB, even if recreational, is aware enough that they're good players. His bet is ok here, bit on the smaller side, but importantly get's two smooth calls, which again screams strength from the two solid regs. Put it this way, these two players should be good enough to be aware that calling here is super strong but that they want the BB to commit their stack. Additionally, calling here as their is no flush means there can't be much profitable floats here, and it's not great to try smooth call bluff later streets on this board with so many players still around.
So given you said the only hand that would call a shove that you're ahead of is KJ why shove here? I think this is the real mistake of how you played this hand. You had the right thinking, you knew their ranges were strong and you went against that thinking. So if I'm not mistaken, after calling the flop you have $234 left in your stack, and after action is back to you the pot is $128. You're risking $234 to win $128, despite knowing that this is a spot you'll only be called by better and have very poor equity. Also I completely agree, nearly every turn card is irrelevant or just a bad card for you, i.e. you're already beat or you hate to see paint as it'll likely be good for one of the 3 other players.
So how could you have done this differently;
- Best course is to open the flop, a good solid raise something around 34 to a pot sized bet is nice here given how polarising the flop is. It makes it easier for you to fold when someone re-raises and calls in these cases. Let's take the line that you open to $34, BB calls, the pot is now $112. In this case I think JJs would likely raise to protect their hand, which would prompt a bigger reaction from the UTG+1 with the nuts, meaning you could get away from it for $34. Plus the good players would now have a good sized pot and would want to get it to heads-up to protect their hands against draws.
- Second best course I think is to check raise. As said above the pot would be $128 after checking by the time action comes back to you. I think you could absolutely make a raise here for close to pot sized bet and again this gives you an option to ultimately get away from it or make a better play.
- Postle level play would be to just fold it, but that'd be a crazy impressive fold from you to check fold that flop.
So things I think you did well;
- You're thinking right, only hands better than you are calling a shove, a good sized raise can be effectively the same thing as a shove, but the key difference means you get to keep the majority of your chips.
- You successfully identified that nearly every turn is a bad turn for your hand.
I think this spot is a cooler for sure, and with some of the comments you mentioned on your question you're thinking along the right lines, but just not trusting or following through on that thought process. Overall it's a cooler, a learning spot but keep thinking the way you are and you'll be telling stories of that time you fold bottom set and were right.