I'm trying to upgrade from Spring Boot v3.5.4 to v4.0.0-M1, which also means upgrading to Spring Framework to 7.0.0-M7. After upgrading the dependencies, I get this error at startup

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Users/donal/workspace/myapp/build/classes/java/main/com/myapp/controller/request/BusinessUnitInvitationRequest.class]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:476) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:318) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:276) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:128) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:347) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:283) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:206) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:174) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:442) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:306) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:782) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:600) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-web-server-4.0.0-M1.jar:4.0.0-M1]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) ~[spring-boot-4.0.0-M1.jar:4.0.0-M1]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) ~[spring-boot-4.0.0-M1.jar:4.0.0-M1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-4.0.0-M1.jar:4.0.0-M1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1344) ~[spring-boot-4.0.0-M1.jar:4.0.0-M1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1333) ~[spring-boot-4.0.0-M1.jar:4.0.0-M1]
    at com.myapp.BidsEngineApplication.main(BidsEngineApplication.java:11) ~[main/:na]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-4.0.0-M1.jar:4.0.0-M1]
Caused by: java.lang.ArrayStoreException: com.myapp.security.role.RoleType$5
    at java.base/java.util.stream.Nodes$FixedNodeBuilder.accept(Nodes.java:1232) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:636) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656) ~[na:na]
    at org.springframework.core.type.classreading.ClassFileAnnotationMetadata.parseArrayValue(ClassFileAnnotationMetadata.java:125) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileAnnotationMetadata.readAnnotationValue(ClassFileAnnotationMetadata.java:95) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileAnnotationMetadata.createMergedAnnotation(ClassFileAnnotationMetadata.java:66) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileAnnotationMetadata.lambda$createMergedAnnotations$0(ClassFileAnnotationMetadata.java:51) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:727) ~[na:na]
    at org.springframework.core.type.classreading.ClassFileAnnotationMetadata.createMergedAnnotations(ClassFileAnnotationMetadata.java:53) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileMethodMetadata.lambda$of$2(ClassFileMethodMetadata.java:144) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at java.base/java.util.Optional.map(Optional.java:260) ~[na:na]
    at org.springframework.core.type.classreading.ClassFileMethodMetadata.of(ClassFileMethodMetadata.java:144) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileClassMetadata$Builder.method(ClassFileClassMetadata.java:289) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileClassMetadata.lambda$of$0(ClassFileClassMetadata.java:208) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at java.base/java.util.ArrayList$Itr.forEachRemaining(ArrayList.java:1086) ~[na:na]
    at java.base/java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Collections.java:1086) ~[na:na]
    at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807) ~[na:na]
    at org.springframework.core.type.classreading.ClassFileClassMetadata.of(ClassFileClassMetadata.java:186) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileMetadataReader.<init>(ClassFileMetadataReader.java:44) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.ClassFileMetadataReaderFactory.getMetadataReader(ClassFileMetadataReaderFactory.java:62) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:127) ~[spring-core-7.0.0-M7.jar:7.0.0-M7]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:436) ~[spring-context-7.0.0-M7.jar:7.0.0-M7]
    ... 23 common frames omitted

The class in question is shown below

package com.myapp.controller.request;

import com.myapp.controller.validation.role.RoleNameSubset;
import com.myapp.security.role.RoleType;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotNull;

public record BusinessUnitInvitationRequest(

    @NotNull(message = "Email can't be empty")
    @Email
    String email,

    @NotNull(message = "Role can't be empty")
    @RoleNameSubset(anyOf = {RoleType.BUSINESS_UNIT_ADMIN, RoleType.BUSINESS_UNIT_ADMIN_API})
    RoleType role
) {
    @Override
    public String email() {
        return email.toLowerCase();
    }
}

I'm using JDK v24