When a unit is in Op-Fire mode, when some targeteable enemy comes into range the unit forcefully fires at that enemy, or we can choose to wait and not fire at that specific hex move (like wait for another enemy to come into LOS or wait for that enemy to possibly come 1 hex closer)?
You can choose when to fire.
Sometimes, it can be tricky. If you wait to long, you might loose your opportunity to fire. Also, if you fire to soon, an enemy unit taking a Fire and Move action might just get a range one attack on you. Remember, a unit taking a Fire and Move action "may a) move then attack or b) attack and then move." (pg.11)
Placing units in Op Fire is usually a good tactic - especially for MGs because of their Rapid Op Fire ability - but there will be times Op Fire will be a bad choice because those units will only be able to fire if the enemy actually move.
For example, let us say the British move first in the Action Phase. As a result, the German player would like to place their anti-tank gun in Op Fire because it has LOS on a British tank, and wants to fire at it when it attempts to move out of LOS. However, if the British tank does not move, the German anti-tank gun will not be able to attack it. The British tank on the other hand might get a free shot at the German anti-tank gun as long as the British tank does a Concentrated Fire action, or a Fire and Movement and fires before it moves. The latter being the more risky of the two because if the attack does not take out the German anti-tank gun, it will no doubt fire at the British tank when it starts to move.