### 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)

if self.s3_bucket is None:
            raise ValueError("Could not initialize glue job, error: Specify Parameter `s3_bucket`")
        default_command = {
            "Name": "glueetl",
            "ScriptLocation": self.script_location,
        }
        command = self.create_job_kwargs.pop("Command", default_command)
        s3_log_path = f"s3://{self.s3_bucket}/{self.s3_glue_logs}{self.job_name}"
        execution_role = self.get_iam_execution_role()
        ret_config = {
            "Name": self.job_name,
            "Description": self.desc,
            "LogUri": s3_log_path,
            "Role": execution_role["Role"]["Arn"],
            "ExecutionProperty": {"MaxConcurrentRuns": self.concurrent_run_limit},
            "Command": command,
            "MaxRetries": self.retry_limit,
            **self.create_job_kwargs,
        }
        if hasattr(self, "num_of_dpus"):
            ret_config["MaxCapacity"] = self.num_of_dpus
        return ret_config
    def list_jobs(self) -> list:
        """
        Get list of Jobs.
        .. seealso::
            - :external+boto3:py:meth:`Glue.Client.get_jobs`
        """
        return self.get_conn().get_jobs()
    def get_iam_execution_role(self) -> dict: