diff --git a/lib/constants/programming-language.ts b/lib/constants/programming-language.ts
index f34b5aabc6c3fd16bc95b31cde9ecb0530e05755..f481973a7e86909179c259405b4c3e22c458f69a 100644
--- a/lib/constants/programming-language.ts
+++ b/lib/constants/programming-language.ts
@@ -1,15 +1,16 @@
-// eslint-disable-next-line typescript-enum/no-enum
-export enum ProgrammingLanguage {
-  Dart = 'dart',
-  Docker = 'docker',
-  Elixir = 'elixir',
-  Golang = 'golang',
-  Java = 'java',
-  JavaScript = 'js',
-  NET = 'dotnet',
-  NodeJS = 'node',
-  PHP = 'php',
-  Python = 'python',
-  Ruby = 'ruby',
-  Rust = 'rust',
-}
+export const programmingLanguages = [
+  'dart',
+  'docker',
+  'elixir',
+  'golang',
+  'java',
+  'js',
+  'dotnet',
+  'node',
+  'php',
+  'python',
+  'ruby',
+  'rust',
+] as const;
+
+export type ProgrammingLanguage = typeof programmingLanguages[number];
diff --git a/lib/modules/manager/ansible/index.ts b/lib/modules/manager/ansible/index.ts
index e602eb37b71f984dd4e9b9acb45952032172bf1c..c81d5468ca7b89a25cb27897161b1d9eec55501b 100644
--- a/lib/modules/manager/ansible/index.ts
+++ b/lib/modules/manager/ansible/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)tasks/[^/]+\\.ya?ml$'],
diff --git a/lib/modules/manager/bundler/index.ts b/lib/modules/manager/bundler/index.ts
index 8f3ffc212b63cdf88ec4aca3b8108c9752663428..aeaba3cec117f14200caf36d90156348ff681703 100644
--- a/lib/modules/manager/bundler/index.ts
+++ b/lib/modules/manager/bundler/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 import { RubyGemsDatasource } from '../../datasource/rubygems';
 import * as rubyVersioning from '../../versioning/ruby';
@@ -6,7 +6,7 @@ import { updateArtifacts } from './artifacts';
 import { extractPackageFile } from './extract';
 import { updateLockedDependency } from './update-locked';
 
-export const language = ProgrammingLanguage.Ruby;
+export const language: ProgrammingLanguage = 'ruby';
 export const supportsLockFileMaintenance = true;
 
 /*
diff --git a/lib/modules/manager/cake/index.ts b/lib/modules/manager/cake/index.ts
index 858a811d846242ffe6e5e506a776026c01985256..10b22ec435e66b98721ee2b9313aa0a09d71491d 100644
--- a/lib/modules/manager/cake/index.ts
+++ b/lib/modules/manager/cake/index.ts
@@ -1,10 +1,10 @@
 import moo from 'moo';
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { regEx } from '../../../util/regex';
 import { NugetDatasource } from '../../datasource/nuget';
 import type { PackageDependency, PackageFile } from '../types';
 
-export const language = ProgrammingLanguage.NET;
+export const language: ProgrammingLanguage = 'dotnet';
 
 export const defaultConfig = {
   fileMatch: ['\\.cake$'],
diff --git a/lib/modules/manager/cargo/index.ts b/lib/modules/manager/cargo/index.ts
index c910bbb819c3881dc739f74c7cc3d7c486de2897..c7768858e3380846220045c124e78d31041e4385 100644
--- a/lib/modules/manager/cargo/index.ts
+++ b/lib/modules/manager/cargo/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { CrateDatasource } from '../../datasource/crate';
 import * as cargoVersioning from '../../versioning/cargo';
 import { updateArtifacts } from './artifacts';
 import { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Rust;
+export const language: ProgrammingLanguage = 'rust';
 export const supportsLockFileMaintenance = true;
 
 export { extractPackageFile, updateArtifacts };
diff --git a/lib/modules/manager/composer/index.ts b/lib/modules/manager/composer/index.ts
index 90a5a327423fb6d9d51f02af74e45a5e4994bed9..54289b897691684260316dd483e65e5b555abca8 100644
--- a/lib/modules/manager/composer/index.ts
+++ b/lib/modules/manager/composer/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { PackagistDatasource } from '../../datasource/packagist';
 import { updateArtifacts } from './artifacts';
@@ -7,7 +7,7 @@ import { getRangeStrategy } from './range';
 import { updateLockedDependency } from './update-locked';
 import { composerVersioningId } from './utils';
 
-export const language = ProgrammingLanguage.PHP;
+export const language: ProgrammingLanguage = 'php';
 export const supportsLockFileMaintenance = true;
 
 export {
diff --git a/lib/modules/manager/docker-compose/index.ts b/lib/modules/manager/docker-compose/index.ts
index a8f9644764837c425dedb0fda9ab0a382c65ef84..69d28ba6a35a3349579a2093259cd244cc8534b2 100644
--- a/lib/modules/manager/docker-compose/index.ts
+++ b/lib/modules/manager/docker-compose/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export { extractPackageFile };
 
diff --git a/lib/modules/manager/dockerfile/index.ts b/lib/modules/manager/dockerfile/index.ts
index 4a012201876bc84a151b5140b3eb2a591689e381..0f6e68b7f61ca3e62c97ddb351b58a6afb395911 100644
--- a/lib/modules/manager/dockerfile/index.ts
+++ b/lib/modules/manager/dockerfile/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export { extractPackageFile };
 
diff --git a/lib/modules/manager/droneci/index.ts b/lib/modules/manager/droneci/index.ts
index 85f60b8c42710d40064b1e9251c08cbd35f37f9a..d7e7fa405c5fc77a41b858fb0d4689a9e82fef77 100644
--- a/lib/modules/manager/droneci/index.ts
+++ b/lib/modules/manager/droneci/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export { extractPackageFile };
 
diff --git a/lib/modules/manager/gitlabci/index.ts b/lib/modules/manager/gitlabci/index.ts
index 5c998edc038154593010903e708852f207e3c941..0bfa5b49432b732214b00332385cb4d49c6d6a46 100644
--- a/lib/modules/manager/gitlabci/index.ts
+++ b/lib/modules/manager/gitlabci/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { extractAllPackageFiles, extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export { extractAllPackageFiles, extractPackageFile };
 
diff --git a/lib/modules/manager/gomod/index.ts b/lib/modules/manager/gomod/index.ts
index 271b5c125819f27312487031088fd8a83abb8a77..a5a79f1e928ee84fd0c38a092b5685d1b5f255ec 100644
--- a/lib/modules/manager/gomod/index.ts
+++ b/lib/modules/manager/gomod/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GoDatasource } from '../../datasource/go';
 import { GolangVersionDatasource } from '../../datasource/golang-version';
 import { updateArtifacts } from './artifacts';
@@ -10,7 +10,7 @@ export { extractPackageFile, updateDependency, updateArtifacts };
 export const displayName = 'Go Modules';
 export const url = 'https://go.dev/ref/mod';
 
-export const language = ProgrammingLanguage.Golang;
+export const language: ProgrammingLanguage = 'golang';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)go\\.mod$'],
diff --git a/lib/modules/manager/gradle/index.ts b/lib/modules/manager/gradle/index.ts
index 5fbb018fce520ad090ce77ecd91cde2f0fc06b84..291e4d0c07f2273e4f956e4b92f27ab84a2b18bc 100644
--- a/lib/modules/manager/gradle/index.ts
+++ b/lib/modules/manager/gradle/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { MavenDatasource } from '../../datasource/maven';
 import * as gradleVersioning from '../../versioning/gradle';
 
@@ -6,7 +6,7 @@ export { extractAllPackageFiles } from './extract';
 export { updateDependency } from './update';
 export { updateArtifacts } from './artifacts';
 
-export const language = ProgrammingLanguage.Java;
+export const language: ProgrammingLanguage = 'java';
 export const supportsLockFileMaintenance = true;
 
 export const defaultConfig = {
diff --git a/lib/modules/manager/index.ts b/lib/modules/manager/index.ts
index e8ee94bbaf050061dafc3575e325a22cfb0653e1..b4e833abce8ac0eb10de35b97c006e8a708bc699 100644
--- a/lib/modules/manager/index.ts
+++ b/lib/modules/manager/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../constants';
+import { programmingLanguages } from '../../constants';
 import type { RangeStrategy } from '../../types';
 import managers from './api';
 import type {
@@ -12,7 +12,7 @@ import type {
 export { hashMap } from './fingerprint.generated';
 const managerList = Array.from(managers.keys());
 
-const languageList = Object.values(ProgrammingLanguage);
+const languageList = programmingLanguages.concat();
 
 export function get<T extends keyof ManagerApi>(
   manager: string,
diff --git a/lib/modules/manager/kubernetes/index.ts b/lib/modules/manager/kubernetes/index.ts
index 9e0bb7442ec50ef6745f0482c7b22c1cbb23bc5c..1ab2c8dc6d70b32c9e87a6fae91b087932c5dbff 100644
--- a/lib/modules/manager/kubernetes/index.ts
+++ b/lib/modules/manager/kubernetes/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { KubernetesApiDatasource } from '../../datasource/kubernetes-api';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export const defaultConfig = {
   fileMatch: [],
diff --git a/lib/modules/manager/maven/index.ts b/lib/modules/manager/maven/index.ts
index 9111471aebdb1b3c8a4b549fe79d654203d2a98f..b6feaa85f9967307d1768b70062f97ef0bdce52a 100644
--- a/lib/modules/manager/maven/index.ts
+++ b/lib/modules/manager/maven/index.ts
@@ -1,11 +1,11 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { MavenDatasource } from '../../datasource/maven';
 import * as mavenVersioning from '../../versioning/maven';
 
 export { extractAllPackageFiles } from './extract';
 export { bumpPackageVersion, updateDependency } from './update';
 
-export const language = ProgrammingLanguage.Java;
+export const language: ProgrammingLanguage = 'java';
 
 export const defaultConfig = {
   fileMatch: ['(^|/|\\.)pom\\.xml$', '^(((\\.mvn)|(\\.m2))/)?settings\\.xml$'],
diff --git a/lib/modules/manager/meteor/index.ts b/lib/modules/manager/meteor/index.ts
index c922b28096d51a334f4cc9b08cfa767bde06bd51..a1826cc334e2a909a0cd0b6429f972d1607d95da 100644
--- a/lib/modules/manager/meteor/index.ts
+++ b/lib/modules/manager/meteor/index.ts
@@ -1,9 +1,9 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { NpmDatasource } from '../../datasource/npm';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.JavaScript;
+export const language: ProgrammingLanguage = 'js';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)package\\.js$'],
diff --git a/lib/modules/manager/mix/index.ts b/lib/modules/manager/mix/index.ts
index ef6040b2a8553104616e2ea6644ca6db2f577183..7820dcded9a9512845c32af09885f93ad20f26c3 100644
--- a/lib/modules/manager/mix/index.ts
+++ b/lib/modules/manager/mix/index.ts
@@ -1,11 +1,11 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { HexDatasource } from '../../datasource/hex';
 import * as hexVersioning from '../../versioning/hex';
 
 export { extractPackageFile } from './extract';
 export { updateArtifacts } from './artifacts';
 
-export const language = ProgrammingLanguage.Elixir;
+export const language: ProgrammingLanguage = 'elixir';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)mix\\.exs$'],
diff --git a/lib/modules/manager/nodenv/index.ts b/lib/modules/manager/nodenv/index.ts
index c5bbc91460a5775a58c8bb754ae787decfccc4d2..093d18e922faee50d2a129b39516f95e98a2e49f 100644
--- a/lib/modules/manager/nodenv/index.ts
+++ b/lib/modules/manager/nodenv/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import * as nodeVersioning from '../../versioning/node';
 
@@ -7,7 +7,7 @@ export { extractPackageFile } from './extract';
 export const displayName = 'nodenv';
 export const url = 'https://github.com/nodenv/nodenv';
 
-export const language = ProgrammingLanguage.NodeJS;
+export const language: ProgrammingLanguage = 'node';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)\\.node-version$'],
diff --git a/lib/modules/manager/npm/index.ts b/lib/modules/manager/npm/index.ts
index 24a12df8d96b7ba1d24807cbe2a819526745f13c..3ac8a7f281b4eae524d39e9c3267ceeccf2cb8eb 100644
--- a/lib/modules/manager/npm/index.ts
+++ b/lib/modules/manager/npm/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import { NpmDatasource } from '../../datasource/npm';
 import * as npmVersioning from '../../versioning/npm';
@@ -12,7 +12,7 @@ export {
 } from './update';
 export { getRangeStrategy } from './range';
 
-export const language = ProgrammingLanguage.JavaScript;
+export const language: ProgrammingLanguage = 'js';
 export const supportsLockFileMaintenance = true;
 
 export const defaultConfig = {
diff --git a/lib/modules/manager/nuget/index.ts b/lib/modules/manager/nuget/index.ts
index ba268b29109ddeb10d18a7cfecd6e1a58ad93058..0f09b1258532f0c99c5b7bc1c4efa8847262eb0c 100644
--- a/lib/modules/manager/nuget/index.ts
+++ b/lib/modules/manager/nuget/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DotnetDatasource } from '../../datasource/dotnet';
 import { NugetDatasource } from '../../datasource/nuget';
 
@@ -6,7 +6,7 @@ export { extractPackageFile } from './extract';
 export { updateArtifacts } from './artifacts';
 export { bumpPackageVersion } from './update';
 
-export const language = ProgrammingLanguage.NET;
+export const language: ProgrammingLanguage = 'dotnet';
 
 export const defaultConfig = {
   fileMatch: [
diff --git a/lib/modules/manager/nvm/index.ts b/lib/modules/manager/nvm/index.ts
index 70aaf8540a7d8aa596a8ef7266aa9b234ba991f7..0c9001f40c0a3bc3c756d0c20e70ad3671bae519 100644
--- a/lib/modules/manager/nvm/index.ts
+++ b/lib/modules/manager/nvm/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import * as nodeVersioning from '../../versioning/node';
 
@@ -7,7 +7,7 @@ export { extractPackageFile } from './extract';
 export const displayName = 'nvm';
 export const url = 'https://github.com/nvm-sh/nvm';
 
-export const language = ProgrammingLanguage.NodeJS;
+export const language: ProgrammingLanguage = 'node';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)\\.nvmrc$'],
diff --git a/lib/modules/manager/pip-compile/index.ts b/lib/modules/manager/pip-compile/index.ts
index dd5bb5ea676290942c33e81b1e5dfb9d226281a6..fdde176cb50f3436bd0e9e63ed4180c17475a94c 100644
--- a/lib/modules/manager/pip-compile/index.ts
+++ b/lib/modules/manager/pip-compile/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { PypiDatasource } from '../../datasource/pypi';
 
 export { extractPackageFile } from '../pip_requirements/extract';
 export { updateArtifacts } from './artifacts';
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 export const supportsLockFileMaintenance = true;
 
 export const supportedDatasources = [PypiDatasource.id];
diff --git a/lib/modules/manager/pip_requirements/index.ts b/lib/modules/manager/pip_requirements/index.ts
index 688ffbd3f8c7d6467f8946b0cdd9d5c5eeaf659a..4fe319227f5bc21457824104b8b4be06c608af51 100644
--- a/lib/modules/manager/pip_requirements/index.ts
+++ b/lib/modules/manager/pip_requirements/index.ts
@@ -1,11 +1,11 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { PypiDatasource } from '../../datasource/pypi';
 
 export { updateArtifacts } from './artifacts';
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)([\\w-]*)requirements\\.(txt|pip)$'],
diff --git a/lib/modules/manager/pip_setup/index.ts b/lib/modules/manager/pip_setup/index.ts
index 261eced13db456ef68e84ff0e18ccfa46c95bb14..0e3a926f9cc0f4c7b8580cffbbd6994343ac9780 100644
--- a/lib/modules/manager/pip_setup/index.ts
+++ b/lib/modules/manager/pip_setup/index.ts
@@ -1,9 +1,9 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { PypiDatasource } from '../../datasource/pypi';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)setup\\.py$'],
diff --git a/lib/modules/manager/pipenv/index.ts b/lib/modules/manager/pipenv/index.ts
index 3d9c1ff8d9e7a1f41e2ef8d1a2fb29d02d523263..857579477d700fbf64d82d75e1244be5be9de146 100644
--- a/lib/modules/manager/pipenv/index.ts
+++ b/lib/modules/manager/pipenv/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { PypiDatasource } from '../../datasource/pypi';
 
 export { extractPackageFile } from './extract';
 export { updateArtifacts } from './artifacts';
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 export const supportsLockFileMaintenance = true;
 
 export const supportedDatasources = [PypiDatasource.id];
diff --git a/lib/modules/manager/poetry/index.ts b/lib/modules/manager/poetry/index.ts
index 5b607d8d9d92f98e4c74dca629a97c27dcaab9c7..122ebb1d37a8233bab59f5658df3aa0765c45f22 100644
--- a/lib/modules/manager/poetry/index.ts
+++ b/lib/modules/manager/poetry/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { PypiDatasource } from '../../datasource/pypi';
 
 export { extractPackageFile } from './extract';
@@ -7,7 +7,7 @@ export { updateLockedDependency } from './update-locked';
 
 export const supportedDatasources = [PypiDatasource.id];
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 export const supportsLockFileMaintenance = true;
 
 export const defaultConfig = {
diff --git a/lib/modules/manager/puppet/index.ts b/lib/modules/manager/puppet/index.ts
index 3340bbcb2f65314ba1a08b8755579217e4c37f30..8743d2d408cfde71703f51347c8250d98351cacd 100644
--- a/lib/modules/manager/puppet/index.ts
+++ b/lib/modules/manager/puppet/index.ts
@@ -1,11 +1,11 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import { PuppetForgeDatasource } from '../../datasource/puppet-forge';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Ruby;
+export const language: ProgrammingLanguage = 'ruby';
 
 export const defaultConfig = {
   fileMatch: ['(^|\\/)Puppetfile$'],
diff --git a/lib/modules/manager/pyenv/index.ts b/lib/modules/manager/pyenv/index.ts
index e235d493492ffaa2f0d1dd1fd6291c19f38957a1..59d75f11cd74c851bb2bcb23eaac35a84768ccfc 100644
--- a/lib/modules/manager/pyenv/index.ts
+++ b/lib/modules/manager/pyenv/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import * as dockerVersioning from '../../versioning/docker';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 
 export const supportedDatasources = [DockerDatasource.id];
 
diff --git a/lib/modules/manager/ruby-version/index.ts b/lib/modules/manager/ruby-version/index.ts
index 4f339bfcee898c0808ddb8b6a9bec908f4b9d850..68eaee26ae194749c98d04419af022acf0b4542a 100644
--- a/lib/modules/manager/ruby-version/index.ts
+++ b/lib/modules/manager/ruby-version/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 import * as rubyVersioning from '../../versioning/ruby';
 
@@ -6,7 +6,7 @@ export { extractPackageFile } from './extract';
 
 export const supportedDatasources = [RubyVersionDatasource.id];
 
-export const language = ProgrammingLanguage.Ruby;
+export const language: ProgrammingLanguage = 'ruby';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)\\.ruby-version$'],
diff --git a/lib/modules/manager/setup-cfg/index.ts b/lib/modules/manager/setup-cfg/index.ts
index d3143e204145dcc8ea3fe082b1688f4e4c647674..c8b40c2a0c723863c87610dd48290c923861b83c 100644
--- a/lib/modules/manager/setup-cfg/index.ts
+++ b/lib/modules/manager/setup-cfg/index.ts
@@ -1,4 +1,4 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { PypiDatasource } from '../../datasource/pypi';
 import { id as versioning } from '../../versioning/pep440';
 
@@ -6,7 +6,7 @@ export { extractPackageFile } from './extract';
 
 export const supportedDatasources = [PypiDatasource.id];
 
-export const language = ProgrammingLanguage.Python;
+export const language: ProgrammingLanguage = 'python';
 
 export const defaultConfig = {
   fileMatch: ['(^|/)setup\\.cfg$'],
diff --git a/lib/modules/manager/travis/index.ts b/lib/modules/manager/travis/index.ts
index 4a03418b5d04eefa30088afee98c868489954e46..baa3937b54512516076b9eb946ce0c676aac001b 100644
--- a/lib/modules/manager/travis/index.ts
+++ b/lib/modules/manager/travis/index.ts
@@ -1,10 +1,10 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import * as nodeVersioning from '../../versioning/node';
 
 export { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.NodeJS;
+export const language: ProgrammingLanguage = 'node';
 
 export const supportedDatasources = [GithubTagsDatasource.id];
 
diff --git a/lib/modules/manager/woodpecker/index.ts b/lib/modules/manager/woodpecker/index.ts
index 12b959e5de084d8d46866a2200651f74fe196988..fc9d97bb6667970f4705530402b8362445e8a06a 100644
--- a/lib/modules/manager/woodpecker/index.ts
+++ b/lib/modules/manager/woodpecker/index.ts
@@ -1,8 +1,8 @@
-import { ProgrammingLanguage } from '../../../constants';
+import type { ProgrammingLanguage } from '../../../constants';
 import { DockerDatasource } from '../../datasource/docker';
 import { extractPackageFile } from './extract';
 
-export const language = ProgrammingLanguage.Docker;
+export const language: ProgrammingLanguage = 'docker';
 
 export { extractPackageFile };
 
diff --git a/lib/util/package-rules/index.spec.ts b/lib/util/package-rules/index.spec.ts
index 4bb0f75b61c6e061184bb76112863b51cf62dc4f..7751d07369b55301712723a245683c991cb6e562 100644
--- a/lib/util/package-rules/index.spec.ts
+++ b/lib/util/package-rules/index.spec.ts
@@ -1,6 +1,4 @@
 import type { PackageRuleInputConfig, UpdateType } from '../../config/types';
-import { ProgrammingLanguage } from '../../constants';
-
 import { DockerDatasource } from '../../modules/datasource/docker';
 import { OrbDatasource } from '../../modules/datasource/orb';
 import { applyPackageRules } from './index';
@@ -295,7 +293,7 @@ describe('util/package-rules/index', () => {
     };
     const dep = {
       depType: 'dependencies',
-      language: ProgrammingLanguage.JavaScript,
+      language: 'js',
       manager: 'meteor',
       depName: 'node',
     };
@@ -315,7 +313,7 @@ describe('util/package-rules/index', () => {
     };
     const dep = {
       depType: 'dependencies',
-      language: ProgrammingLanguage.Python,
+      language: 'python',
       manager: 'pipenv',
       depName: 'node',
     };
@@ -327,10 +325,7 @@ describe('util/package-rules/index', () => {
     const config: TestConfig = {
       packageRules: [
         {
-          matchLanguages: [
-            ProgrammingLanguage.JavaScript,
-            ProgrammingLanguage.NodeJS,
-          ],
+          matchLanguages: ['js', 'node'],
           matchPackageNames: ['node'],
           x: 1,
         },
@@ -338,7 +333,7 @@ describe('util/package-rules/index', () => {
     };
     const dep = {
       depType: 'dependencies',
-      language: ProgrammingLanguage.JavaScript,
+      language: 'js',
       manager: 'meteor',
       depName: 'node',
     };
@@ -350,7 +345,7 @@ describe('util/package-rules/index', () => {
     const config: TestConfig = {
       packageRules: [
         {
-          matchLanguages: [ProgrammingLanguage.Docker],
+          matchLanguages: ['docker'],
           matchPackageNames: ['node'],
           x: 1,
         },
@@ -358,7 +353,7 @@ describe('util/package-rules/index', () => {
     };
     const dep = {
       depType: 'dependencies',
-      language: ProgrammingLanguage.Python,
+      language: 'python',
       manager: 'pipenv',
       depName: 'node',
     };
diff --git a/lib/workers/repository/updates/flatten.spec.ts b/lib/workers/repository/updates/flatten.spec.ts
index c3f987abaf61cb80799dfa9b9d34e28073ba2b50..7e3c2656b03ae356faa4add3e8ad61d368aa7b7a 100644
--- a/lib/workers/repository/updates/flatten.spec.ts
+++ b/lib/workers/repository/updates/flatten.spec.ts
@@ -1,6 +1,4 @@
 import { RenovateConfig, getConfig } from '../../../../test/util';
-
-import { ProgrammingLanguage } from '../../../constants';
 import { flattenUpdates } from './flatten';
 
 let config: RenovateConfig;
@@ -100,7 +98,7 @@ describe('workers/repository/updates/flatten', () => {
             deps: [
               {
                 depName: 'amd64/node',
-                language: ProgrammingLanguage.Docker,
+                language: 'docker',
                 sourceUrl: 'https://github.com/nodejs/node',
                 updates: [{ newValue: '10.0.1' }],
               },
@@ -111,7 +109,7 @@ describe('workers/repository/updates/flatten', () => {
             deps: [
               {
                 depName: 'calico/node',
-                language: ProgrammingLanguage.Docker,
+                language: 'docker',
                 sourceUrl: 'https://calico.com',
                 updates: [{ newValue: '3.2.0', updateType: 'minor' }],
               },