Villain does not have an A, we can rule that out. Even AA will not check twice into that flop. Any A and villain probably bets the flop to take it down or see where he stands.
K hits on the turn and Villain checks again. I don't think he slow plays a K here. If he hit on the turn he is betting.
9 hits on the river and he bets $7, so what could he reasonably have that beats you..A9,K9,J9,T9. We can reasonably rule out A9 and K9 and it is tough to raise $3.50 with J9 from early position. Even T9 would be a pretty aggressive play.
I put Villain on QQ trying to represent a 9. The flop was bad for QQ, it didn't help when the K hit, now a 9 hits but you have checked all the way so Villain is taking a stab at the pot. It is also possible 6 handed Villain raised with mid PP, but when an A hit and then K he backed off.
I agree with the other posters, you raise for value but be ready to fold if he goes over the top. All of the above is based on him not slow playing a monster like AA or A9. I would raise $14 to $21 depending on your read.