### Apache Airflow Provider(s)

amazon

### Versions of Apache Airflow Providers

apache-airflow-providers-amazon==7.1.0

### Apache Airflow version

2.2.2

### Operating System

macOS Ventura 13.1

### Deployment

Docker-Compose

### Deployment details

_No response_

### What happened

When calling GlueJobOperator and passing 
`create_job_kwargs={"Command": {"Name": "pythonshell"}}` I need to specify MaxCapacity and based on the code [here](https://github.com/apache/airflow/blob/main/airflow/providers/amazon/aws/hooks/glue.py#L127) that's equal to _num_of_dpus_ and that parameter is integer as stated [here](https://github.com/apache/airflow/blob/main/airflow/providers/amazon/aws/hooks/glue.py#L68) 
Because I want to use pythonshell, AWS Glue offers to setup ranges between 0.00625 and 1 and that can't be achieved with integer. 
`When you specify a Python shell job (JobCommand.Name="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.`

I was trying to pass _MaxCapacity_ in `create_job_kwargs={"Command": {"Name": "pythonshell"}, "MaxCapacity": 0.0625}` but it throws the error. 

### What you think should happen instead

I think that parameter _num_of_dpus_ should be type double or MaxCapacity should be allowed to setup as double if pythonshell was selected in Command -> Name.

### How to reproduce

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""Get IAM Role for job execution."""
        try:
            iam_client = self.get_session(region_name=self.region_name).client(
                "iam", endpoint_url=self.conn_config.endpoint_url, config=self.config, verify=self.verify
            )
            glue_execution_role = iam_client.get_role(RoleName=self.role_name)
            self.log.info("Iam Role Name: %s", self.role_name)
            return glue_execution_role
        except Exception as general_error:
            self.log.error("Failed to create aws glue job, error: %s", general_error)
            raise
    def initialize_job(
        self,
        script_arguments: dict | None = None,
        run_kwargs: dict | None = None,
    ) -> dict[str, str]:
        """
        Initializes connection with AWS Glue to run job.
        .. seealso::
            - :external+boto3:py:meth:`Glue.Client.start_job_run`
        """
        script_arguments = script_arguments or {}
        run_kwargs = run_kwargs or {}
        try:
            job_name = self.create_or_update_glue_job()
            return self.get_conn().start_job_run(JobName=job_name, Arguments=script_arguments, **run_kwargs)
        except Exception as general_error:
            self.log.error("Failed to run aws glue job, error: %s", general_error)
            raise
    def get_job_state(self, job_name: str, run_id: str) -> str: