public static FrameType fromValue(int val) {
			return BY_VALUE.getOrDefault(val, FPO);
		}
Frame Pointer Omission Data, according to API, represents stack frame layout on x86 when
 frame pointer omission optimization is used.  This structure is used to locate the call frame.
See <a href="https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_data">
MSFT Documentation</a>, which specifies:
<PRE>
  typedef struct _FPO_DATA {
    DWORD ulOffStart;
    DWORD cbProcSize;
    DWORD cdwLocals;
    WORD  cdwParams;
    WORD  cbProlog : 8;
    WORD  cbRegs : 3;
    WORD  fHasSEH : 1;
    WORD  fUseBP : 1;
    WORD  reserved : 1;
    WORD  cbFrame : 2;
  } FPO_DATA, *PFPO_DATA;

  where...
  ulOffStart = The offset of the first byte of the function code.
  cbProcSize = The number of bytes in the function.
  cdwLocals = the number of local variables.
  cdwParams = The size of the parameters, in DWORDs.
  cbProlog = The number of bytes in the function prolog code.
  cbRegs = The number of registers saved.
  fHasSEH = A variable that indicates whether the function used structured exeception handling.
  fUseBP = A variable that indicates whether the EBP register has been allocated.
  reserved = Reserved for future use.
  cbFrame = A variable that indicates the frame type, where...
    FRAME_FPO (0) = FPO frame
    FRAME_TRAP (1) = Trap frame
    FRAME_TSS (2) = TSS frame
    FRAME_NONFPO (3) = non-FPO frame
</PRE>
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/FramePointerOmissionRecord.java