The difference among various type of LOFType

What are the definitions and differences of different types of LOFTypes, and what are their applicable conditions?

The API documentation can be found here. In there, you can find the javadoc for LOFType, which explains all the predefined ones.
LOF by itself is an interface that is implemented by LOFType and also by different specialized classes; you can also provide your own implementation if you wish (like for example having a LOF that has its Y axis pointing downwards for example).

The applicable conditions are mainly the mission needs, you should look at how the Attitude and Orbit Control System (AOCS) of your satellite is designed to know what kind of LOF is best suited to model the real satellite behavior. If you are designing the AOCS, than you can choose whatever suits your attitude pointing needs and implement this in both you Orekit-based ground simulation and in the on-board software.