The proton transfer can be base catalysed or acid catalysed, and each one has a different mechanism. In the acid one the carbonyl oxygen is protonated and a proton is removed from a carbon atom adjacent to the carbonyl carbon by water to form the enol. The base catalysed mechanism is very similar, just the proton is removed from the carbon atom adjacent to the carbonyl carbon forming an enolate anion (the negative charge is delocalised but most of it is the oxyanion as it is more stable) and that can be protonated by water to give the enol.
Search keto enol mechanism in google images for a few examples.