Answer
This happens when the user doesn't have access to the CUSTOM_FIELD_ENUM_CHECKBOX_LOV view — that view is specifically what populates the Enumeration LOV dialog when defining a boolean/checkbox-type persistent custom field, and without a grant on it the dialog has nothing to show. Grant it via Permission Set > Database Objects, searching for CUSTOM_FIELD_ENUM_CHECKBOX_LOV (listed under Ifs Custom Objects > CustomEnumerations), then refresh the Security Cache and restart the client — the Enumeration LOV then populates correctly.