Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryEEnumeration Field
Core CRMAdvanced

Enumeration Field

An Enumeration Field in Salesforce is a field whose value is restricted to a predefined list of options.

§ 01

Definition

An Enumeration Field in Salesforce is a field whose value is restricted to a predefined list of options. Picklists, Multi-Select Picklists, and the Apex enum keyword all express this idea. The platform stores enumeration fields as text values but enforces that only the configured options can be saved. Reports filter on them cleanly; validation rules reference them precisely; integrations send and receive them as strings. They are the platform''s primary tool for keeping data consistent when free-form text would produce variation (Industry: Tech, Technology, Tech and Software, Technology Industry, IT, Information Technology).

In Apex, the enum keyword declares a programmatic enumeration: enum Status {New, InProgress, Closed}. These integrate with the Apex type system and prevent typos at compile time. At the database layer, the equivalent is a Picklist field with a controlled value set: defined once in Setup, referenced by every record on that object. Multi-Select Picklists extend the idea to multiple-value-per-record selections, with caveats about reporting and sorting that catch new admins.

§ 02

How enumeration fields work in Salesforce

Picklist as the standard enumeration field

A Picklist is the most common enumeration field on the Salesforce platform. Setup, then Object Manager, then the object, then Fields and Relationships, then New, then Picklist. Define the values and their order. The platform stores the field as text but enforces the list at write time. Picklists appear in the UI as dropdowns; reports filter on them; SOQL queries reference them as strings.

Multi-Select Picklist

Multi-Select Picklist lets a record have multiple values from the same enumeration. The platform stores the values as a semicolon-delimited string (Industry__c = Tech;Healthcare;Finance). Multi-Select Picklists are convenient for users but operationally awkward: reports cannot easily count by individual value, sorting is on the string representation, and filtering requires INCLUDES operators rather than equals.

Global Picklist Value Sets

Global Picklist Value Sets centralize enumeration values across multiple picklists. Define the values once in a Value Set; reference the set from multiple picklist fields on different objects. Updates to the set propagate everywhere. This is how you keep Industry consistent across Account, Lead, and Opportunity (or, more practically, across 30 picklists in a large org).

The Apex enum

In Apex code, enum is a type declaration: public enum CaseStatus { New, InProgress, OnHold, Closed }. Variables of the enum type can only hold values from the enumeration. This is the same idea as Picklist values but at the code level: type-safe at compile time. Picklist fields can be linked to Apex enums for tight coordination between platform configuration and code.

Restricted picklists and the strictness toggle

By default, Picklist fields accept values not in the configured list when written via API or Apex (the platform logs a warning but accepts the value). Restricted Picklists reject any value not in the list, even via API. The Restricted setting is a checkbox on the field definition; flipping it on enforces strict enumeration. Most production picklists should be restricted; the default behavior exists for backward compatibility.

Dependent picklists

Dependent Picklists tie one picklist''s available values to another picklist''s selected value. Lead Source = Inbound restricts Lead Subtype to Web Form, Email, Phone. Lead Source = Outbound restricts Lead Subtype to Cold Call, LinkedIn, Trade Show. Dependent picklists encode business logic in metadata, reducing free-text drift and validation rule complexity.

Reporting on enumeration fields

Picklist fields are first-class in reports: filter by exact value, group by value, count records per value. Multi-Select Picklists need special handling: INCLUDES in filters, separate row per value if you want individual counts. Reporting requirements are often the deciding factor when choosing between Picklist and Multi-Select Picklist for a field.

§ 03

How to create a Restricted Picklist with Global Value Set

Creating a Restricted Picklist with a Global Value Set is the standard production pattern: centralized values, strict enforcement, reusable across objects. The setup takes 10-15 minutes.

  1. Create the Global Value Set

    Setup, then Picklist Value Sets, then New. Name the set (Account_Industry, Case_Origin, Opportunity_Stage). Add the allowed values in the order they should appear in dropdowns. Save.

  2. Open the target object

    Setup, then Object Manager, then the object. Navigate to Fields and Relationships.

  3. Create the Picklist field

    Click New. Select Picklist as the data type. Click Next.

  4. Choose Use a Global Picklist Value Set

    On the field setup page, select Use Global Picklist Value Set and pick the one you just created. This links the field to the centralized set.

  5. Set the Restricted flag

    On the field detail page, check Strictly enforce picklist values. This makes the field a Restricted Picklist that rejects any value not in the set.

  6. Add the field to page layouts and test

    Add the field to the relevant page layouts. Create a test record, confirm the dropdown shows the right values, confirm that programmatically setting an invalid value via Apex throws an error.

Mandatory fields
Field Namerequired

The API and UI name for the field. Standard naming conventions apply.

Data Typerequired

Picklist or Multi-Select Picklist. Determines the underlying behavior.

Value Setrequired

The list of allowed values. Either inline or from a Global Picklist Value Set.

Restrictedrequired

Strict enforcement flag. Recommended for production picklists.

Gotchas
  • Default Picklists are not restricted. The API accepts any string value with a warning. Production picklists should be marked Restricted to enforce data quality.
  • Multi-Select Picklists complicate reporting. Counting records by individual value requires the INCLUDES operator and may need a separate report per value. Pick this type deliberately.
  • Global Picklist Value Sets cannot be unlinked once linked. The field permanently uses the set; you cannot revert to per-field values without recreating the field.
  • Apex enums and picklist fields are not the same object. Mapping between them requires explicit code; do not assume the Apex enum value matches the Picklist API value.
§

Trust & references

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Enumeration Field.

Keep learning

Hands-on resources to go deeper on Enumeration Field.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Test your knowledge

Q1. What is an Apex enum?

Q2. How do enums differ from picklists?

Q3. What's a benefit of using enums over strings?

§

Discussion

Loading…

Loading discussion…