It is redundant to include both min/maxLength and enumerated codes for example in organicPracticeTypeCode https://github.com/USDA/data-standards/blob/gh-pages/json-schema/agriculturalProductionPlan.json The validation could be done just by the enumerated lists.
The pros for having both in place are for clarity and ease of use. It will also help in determining whether to add new value that exceed current highest maxlength which could break backward compatibility of databases.
The cons are that it's additional information that will need to be kept up to date if enumerated list adds value that exceeds