What makes Snowplow special is the ability to create data where everything is validated before the data can reach its destination. The enrichment configurations themselves need to be validated against the corresponding JSON schemas. To be able to validate, we use so-called “self-describing JSON” which tells the Iglu where to locate the JSON schema that has to be used for validation purposes. Since the name you used is not located on our Iglu Central, the configuration structure cannot be validated.
To answer your question directly, no, the name is predefined and is not custom unless you host the corresponding JSON schema in your own Iglu server (that is it could be located somewhere). The properties vendor and name are used to locate the JSON schema that describes the actual data - here, it is the configuration itself.
You can read more about “self-describing” JSON schema here.
I understand self-describing json schema; my misunderstanding was that I thought the $schema field itself was enough for snowplow to find the type of enrichment. Since the “self” field of other self-describing json schema has “name” and “vendor” fields meant for the name of the schema and the vendor creating it (e.g: the name of the company), it is confusing that in this case, “name” and “vendor” must always be that of the custom enrichment config and com.snowplowanalytics.snowplow.enrichments