You should fold on the river, in my view villian is holding a hand greater than the Two pair or a set and checking on Turn is very bad decision, giving him an extra card to complete his draw.