Reset Reasons for P2 and recommended handling

I am trying to implement a more comprehensive reset reason handler for my new P2 based product.

Having implemented a basic handler to see what results I get I have some questions:

RESET_REASON_NONE - never seen this, when might this occur and how best to handle it?
RESET_REASON_UNKNOWN - ditto above
RESET_REASON_PIN_RESET - was expecting to see this if I press the reset button or the hardware watchdog does the same but instead I get RESET_REASON_POWER_DOWN
RESET_REASON_POWER_MANAGEMENT - never seen this, can I assume not relevant to P2?
RESET_REASON_POWER_DOWN - seen this and also after USB flash restart - does that make sense?
RESET_REASON_POWER_BROWNOUT - I have seen post by Gus - not relevant to P2
RESET_REASON_WATCHDOG - not seen this but assume this is from software watchdog?
RESET_REASON_UPDATE - with OTA flash and USB. Any examples of possible ways to handle/use this? I have seen subsequent restarts after flash retain this reason - causes?
RESET_REASON_UPDATE_TIMEOUT - only with OTA flash not USB? Any examples of ways to use this please?
RESET_REASON_FACTORY_RESET - never seen this, when might this occur and how best to handle it?
RESET_REASON_SAFE_MODE - seen this after System.enterSafeMode() has been called
RESET_REASON_DFU_MODE - is this called when buttons used to enter DFU mode or just System.dfu()?
RESET_REASON_PANIC - I am calling System.enterSafeMode(RESET_NO_WAIT) so that there device could be recovered with an OTA update? Is there anything more that could be done?
RESET_REASON_USER - Application called System.reset() or System.reset(resetReasonData)

I appreciate this is a long list, maybe a useful basis for the reference documents to be enhanced.

Hey, I see this one when the device wakes up from Hibernate sleep.

From what I learned in the community, the Realtek RTL872x on Gen 4 do not have the capability to differentiate between pin and power reset.

This is a great question! Let's see what comes out of it.

Many of the reasons cannot be returned on RTL872x devices. The problem is that the SRAM (retained memory) is not preserved on these MCUs when the MCU is reset.

In some cases, the SRAM is saved to flash before reset, and restored at boot. This is not possible for pin reset, brownout, and a number of other cases where the system restarts suddenly.

P2 specific list from the answers above:
RESET_REASON_NONE - n/a
RESET_REASON_UNKNOWN - n/a
RESET_REASON_PIN_RESET - n/a
RESET_REASON_POWER_MANAGEMENT - n/a
RESET_REASON_POWER_DOWN - default reason for power down or reset pin
RESET_REASON_POWER_BROWNOUT - n/a
RESET_REASON_WATCHDOG - n/a software watchdog handler calls System.reset() so RESET_REASON-USER
RESET_REASON_UPDATE - with OTA flash and USB flash
RESET_REASON_UPDATE_TIMEOUT - not been able to test this with USB flash.
RESET_REASON_FACTORY_RESET - n/a
RESET_REASON_SAFE_MODE - after System.enterSafeMode() has been called
RESET_REASON_DFU_MODE - n/a
RESET_REASON_PANIC - call System.enterSafeMode(RESET_NO_WAIT) so that there device can be recovered with an OTA update
RESET_REASON_USER - application called System.reset().

Is this correct?