unit – The custom properties of OnInspectorGUI are not displayed in the correct order

Basically, I did a lot of research and I found no solution.
So my problem: I have removed / show some variables based on an enumeration with a custom editor script. But if they appear, they do not appear at the position where normal editor variables appear

replace the public void OnInspectorGUI ()
base.OnInspectorGUI ();
GunCard myScript = target as GunCard;

EditorGUI.indentLevel ++;

switch (myScript.aimingControlType)
case AimingControlType.Manual:
myScript.hasAimAssistance = EditorGUILayout.Toggle ("Help with aiming", myScript.hasAimAssistance);
case AimingControlType.AutoTargeting:
myScript.targetPreference = (TargetTypes) EditorGUILout.EnumPopup ("Target Preference", myScript.targetPreference);
myScript.requiresLineOfSight = EditorGUILayout.Toggle ("Requires a line of sight", myScript.requiresLineOfSight);
myScript.requiresPossibleTargetOnScreen = EditorGUILayout.Toggle ("requires a possible target on the screen", myScript.requiresPossibleTargetOnScreen);

Here is where they appear:
enter the description of the image here

These are the raw variables in the scriptable object

[Header("Aiming Controls")]

public AimingControlType aimedControlType;

[HideInInspector] public bool hasAimAssistance;
[HideInInspector] bool public requireLineOfSight; // TODO: implement -> requires 180
[HideInInspector] public bool requirePossibleTargetOnScreen; // TODO: implement -> requires 180
[HideInInspector] public TargetTypes targetPreference;
[HideInInspector] public bool isAutoShootWhenAimOnTarget;

I know I'm adding new variables to the inspector in my editor script, but it would be very useful to order them. Is there a way to do that?

P.S sorry for the funny typo in the picture 🙂