First of all we go for Enhancement category option because in program where there is no active check, enhancement to tables and structures can cause syntax and runtime errors during type checks and particularly in combination with deep structure.
If any situation may occur where we can add any type of field including deep structures then we should go for enhancement category ''deep''.